'use strict';

/**
 *
 */
angular.module('webApp')
/**
 *   url_encode
 */
.filter("url_encode", ['$filter', 'moment',
    function($filter, moment) {
        return function(t) {
            return encodeURIComponent(t);
        };
    }
])
/**
 *   如果t是【标准时间对象】，输出格式化后的【当地时间】
 *   如果t是字符串，直接格式化输出。不转化。
 */
.filter("ddtt", ['$filter', 'moment',
    function($filter, moment) {
        return function(t, f) {
            f = f || 'lll';
            if (_.isString(t)) {
                return moment(t).format(f);
            } else if (t) {
                return t.format(f);
            }
        };
    }
])
/**
 *   把【当地时间字符串t】格式化成【标准时间的格式化字符串】
 */
.filter("stdTime", ['$filter', 'moment',
    function($filter, moment) {
        return function(t, f) {
            f = f || 'YYYY-MM-DD HH:mm:ss';
            if (_.isString(t)) {
                return moment(t).tz("Etc/UTC").format(f);
            } else if (t) {
                return t.tz("Etc/UTC").format(f);
            }
        };
    }
])

/**
 *  当前时间
 */
.filter("nowTime", ['$filter', 'moment',
    function($filter, moment) {
        return function() {
            return moment().format('YYYY-MM-DD HH:mm:ss');
        };
    }
])

/**
 *  输出html
 */
.filter('html', function($sce) {
    return $sce.trustAsHtml;
});